戦争 - 退却と戦死武将ユニットが戦死したかどうかの判定p武将戸籍情報[iBushouID].戦死 なお、戦死については、武将 - 死亡 の項目とも関わるので、 番号リスト型 戦争出陣武将リストの控え; void カスタム::On_残りターン変更《戦争画面》(int 残りターン数) { if (残りターン数 == 30) { // Get_出陣中の武将番号リスト【配列用】() の関数は「退却武将」や「戦死武将」は含まれないため、一番最初のターンの開始で、全員分のリストを控えておく 戦争出陣武将リストの控え = Get_出陣中の武将番号リスト【配列用】(); } for (int iBushouID : 戦争出陣武将リストの控え) { if (p武将戸籍情報[iBushouID].戦死) { デバッグ出力 << Get_名字(iBushouID) + Get_名前(iBushouID) << "は、この戦争中に戦死しました" << endl; } } } void カスタム::On_戦争終了() { // 戦争終了時にリストをクリア 戦争出陣武将リストの控え.clear(); } 戦場での戦死に関連する項目として、
などがあります。 武将ユニットを戦場で戦死させる武将 - 死亡 にて説明されています。 武将ユニットが退却したかどうかの判定p武将戸籍情報[iBushouID].退却 出陣していない武将が、城を奪われた際に退却することは、この項目とは無関係である。 番号リスト型 戦争出陣武将リストの控え; void カスタム::On_残りターン変更《戦争画面》(int 残りターン数) { if (残りターン数 == 30) { // Get_出陣中の武将番号リスト【配列用】() の関数は「退却武将」や「戦死武将」は含まれないため、一番最初のターンの開始で、全員分のリストを控えておく 戦争出陣武将リストの控え = Get_出陣中の武将番号リスト【配列用】(); } for (int iBushouID : 戦争出陣武将リストの控え) { if (p武将戸籍情報[iBushouID].退却) { デバッグ出力 << Get_名字(iBushouID) + Get_名前(iBushouID) << "は、この戦争中に退却しました" << endl; } } } void カスタム::On_戦争終了() { // 戦争終了時にリストをクリア 戦争出陣武将リストの控え.clear(); } 戦場での退却に関連する項目として、 などがあります。 武将ユニットを戦場で退却させるint Do_コマンド《戦争画面》《退却》(int 武将番号【配列用】)
この関数はUIやメッセージ吹き出しを伴うため、 void カスタム::On_残りターン変更《戦争画面》(int 残りターン数) { 番号リスト型 list = Get_出陣中の武将番号リスト【配列用】《表示中マップ》(); // 1人以上武将が表示中なら... if (list.size() > 0) { // 先頭の1人が戦場から退場 int iBushouID = list[0]; Do_コマンド《戦争画面》《退却》(iBushouID); } } より詳細を知るには...「戦争 - 退却と戦死」に関する主な所は以上となります。 詳しくは「戦場情報型.h」「武将情報型.h」などを参照してください。 |